<?php

interface Node {
	
	// getters
	public function &getValue();
	public function &getParent();
	public function &getChildren();
	public function getNumChildren();
	
	// setters
	public function setParent(Node &$parent=null);
	
	// interpret the node operation
	public function interpret();
	
	// add a child node
	public function addChild(Node &$node=null);
	
	// override toString
	public function __toString();
	
}

?>